As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
As information handling systems become more complex operating within lower tolerances for failure, it is increasingly important to continuously monitor the operating parameters of the components within the information handling system and any components connected to the information handling system. To assist in monitoring operation and performance, information handling systems utilize sensors. The sensors monitor such operating characteristics as temperature, voltage, current, memory, and the presence of required components. The sensors are typically physical hardware devices, such as temperature monitors or voltage monitors, that are monitored and managed by a controlling agent. For example, a BIOS may manage a memory sensor for detecting errors in memory.
The Intelligent Platform Management Interface (IPMI) specification facilitates communication between the sensors, agents, and the information handling system. The IPMI specification allows for autonomous monitoring and recovery features implemented directly into the platform management hardware and firmware of the information handling system. The platform management of the IPMI allows for the monitoring and controlling of functions that are built in to the information handling system hardware and primarily used for the purpose of monitoring system health including such elements as system temperatures, voltages, fans, power supplies, bus errors, and system physical security. The monitoring and recovery control functions of the IPMI are independent of the information handling system's main processor, BIOS, and operating system through the use of a microcontroller such as a baseboard management controller (“BMC”). The BMC provides the intelligence behind IPMI and the ability for other agents, such as the BIOS or a RAID controller, to access the IPMI system. This allows for a standardized way of integrating information handling system features with the baseboard of the IPMI specification.
The IPMI and the BMC include associated sensors that monitor the health of the IPMI within the information handling system. Additional sensors exist outside of the IPMI that are managed by other software and/or hardware components or agents, such as the BIOS, of the information handling system. The IPMI specification addresses how sensor readings detected by the agents for sensors outside of the IPMI can be logged by the IPMI into a system event log (“SEL”). But there is no standard way to model a sensor, either within the IPMI or outside the IPMI, so that the current status of each sensor can be shared among the BMC and the multiple agents such as the BIOS, firmware, OpenManage, and diagnostics.
The various agents in the information handling system access and parse the SEL of the BMC in an attempt to retrieve the significant events that have happened in the system. In addition, when an agent desires a current sensor reading or value, the agent directly accesses the sensor in order to retrieve the current sensor value. Because the sensors contain raw data, each agent must interpret the current sensor data using the agent's own interpretation rules. Therefore, each agent may differently interpret the same sensor value for a single sensor. Each agent also interprets the data in the SEL using the agent's own interpretation rules resulting in different analysis of the same data by each agent. Each agent differently interpreting the sensor data leads to different and inconsistent views of system health depending upon which agent system health is viewed through.
For both sensors inside and outside of the IPMI, the BMC utilizes the SEL as a historical log of what has happened in the past with respect to the sensors. The agents communicate with the BMC and the SEL to determine what has happened historically with respect to the information handling system. But there is no central repository for the most current sensor readings for sensors both inside and outside the IPMI. If an agent desires the status for two different sensors, the agent must individually access each of the sensors and interpret the sensor data to determine the current status of the two sensors. Having to access each sensor individually to determine the current status for each sensor is an inefficient use of processing resources and does not allow for a centralized and unified way to indicate the current operating status of the information handling system.